The present application relates to software development and more specifically to systems, methods, and patterns for implementing enterprise software applications.
Many types of business logic are implemented by enterprise software applications. For example, many enterprise applications are focused on business logic to perform marketing or customer relations management (CRM) tasks. Examples of such business logic includes tools that facilitate web-based customer surveys, sales, and order capture.
The problem that is often faced by users of such systems is that these enterprise software systems do not come with a standard configuration that exactly meets the user's requirements, can be managed directly by business users, and does not require offline customizations to the software code. This means that the out-of-the-box performance of the system does not provide the most optimal, useful or effective configuration for the user. Given the complexity of these systems, it is normally very difficult, if not impossible, for most users to be able to configure the system to meet the user's requirements.
Therefore, there is a need for an improved approach to implement enterprise software systems that address these and other problems.